امروزه تقریباً هر کاری که در فضای آنلاین انجام میدهیم، از جستوجوی یک عبارت گرفته تا خرید اینترنتی، تماشای ویدئو یا ارسال پیام، به اینترنت وابسته است. با این حال، بسیاری از کاربران فقط نتیجه نهایی را میبینند و کمتر به این موضوع فکر میکنند که وقتی آدرس یک سایت را در مرورگر وارد میکنیم، دقیقاً چه اتفاقی رخ میدهد. پشت نمایش یک صفحه ساده، مجموعهای از فناوریها مانند DNS، آدرس IP، پروتکلهای شبکه، سرورها، روترها، TCP/IP و HTTPS با یکدیگر همکاری میکنند. در واقع، نمایش یک صفحه وب حاصل چندین مرحله ارتباطی است که در مدت بسیار کوتاهی انجام میشود. در این مطلب قدمبهقدم بررسی میکنیم که اینترنت چگونه کار میکند و اطلاعات از لحظه وارد کردن آدرس سایت تا زمانی که صفحه روی نمایشگر ظاهر میشود، چه مسیری را طی میکند.
اینترنت چیست و دستگاهها چگونه به یکدیگر متصل میشوند؟
اینترنت را میتوان یک شبکه بسیار بزرگ از شبکههای بههمپیوسته دانست. کامپیوتر، گوشی، سرور، روتر و بسیاری از تجهیزات دیگر میتوانند از طریق این شبکه با یکدیگر ارتباط برقرار کنند. برخلاف تصور رایج، اینترنت یک شبکه واحد با یک مرکز کنترل مشخص نیست؛ بلکه مجموعهای عظیم از شبکههای مختلف است که با استفاده از استانداردهای مشترک با یکدیگر ارتباط دارند.
برای اینکه یک دستگاه بتواند در اینترنت با دستگاه دیگری ارتباط برقرار کند، باید بتواند مقصد مورد نظر را شناسایی کند. این کار با استفاده از آدرسهای IP انجام میشود. هر دستگاهی که در یک ارتباط شبکهای نقش مشخصی دارد، میتواند دارای یک آدرس IP باشد. اطلاعات نیز بهصورت یک فایل بزرگ و یکپارچه در اینترنت منتقل نمیشوند، بلکه معمولاً به بستههای کوچکتری تقسیم میشوند. این بستهها میتوانند از مسیرهای مختلف عبور کنند و در مقصد دوباره کنار هم قرار بگیرند. روترها نیز وظیفه دارند بستهها را به سمت شبکه و مقصد مناسب هدایت کنند. به همین دلیل، اینترنت یک سیستم پیچیده اما استانداردشده است که میلیونها دستگاه را به هم متصل میکند.
وقتی آدرس سایت را وارد میکنیم، مرورگر چه کاری انجام میدهد؟
فرض کنید قصد دارید وارد یک سایت شوید و نام دامنه آن را در نوار آدرس مرورگر وارد میکنید. مرورگر در ابتدا فقط نامی مانند example.com را در اختیار دارد، اما برای برقراری ارتباط با سرور، به اطلاعات دقیقتری نیاز دارد. مهمترین اطلاعات مورد نیاز، آدرس IP سروری است که سایت روی آن قرار دارد.
مرورگر نمیتواند صرفاً با نام دامنه، بستههای اطلاعاتی را به مقصد نهایی ارسال کند. بنابراین باید مشخص شود این دامنه به چه IPای اشاره میکند. این مرحله با کمک سیستم DNS انجام میشود. البته پیش از ارسال درخواست جدید، مرورگر و سیستمعامل ممکن است بررسی کنند که آیا اطلاعات مربوط به دامنه قبلاً در حافظه موقت یا Cache وجود دارد یا خیر.
در صورتی که اطلاعات مورد نیاز در Cache موجود باشد، فرآیند سریعتر انجام میشود. اگر چنین اطلاعاتی وجود نداشته باشد یا منقضی شده باشد، سیستم باید از سرویس DNS برای پیدا کردن IP استفاده کند. بنابراین وارد کردن آدرس سایت در مرورگر، در واقع آغاز مجموعهای از درخواستها و پردازشهای شبکهای است که کاربر معمولاً آنها را مشاهده نمیکند.
DNS چیست و چگونه نام سایت را به IP تبدیل میکند؟
DNS یا Domain Name System را میتوان دفترچه تلفن اینترنت دانست. انسانها معمولاً نامهایی مانند یک دامنه را راحتتر به خاطر میسپارند، اما تجهیزات شبکه برای برقراری ارتباط به آدرسهای IP نیاز دارند. DNS این دو دنیا را به یکدیگر متصل میکند.
وقتی مرورگر برای دامنهای به آدرس IP نیاز دارد، درخواست DNS ارسال میشود. این درخواست ممکن است از چند مرحله عبور کند تا سرانجام آدرس مناسب پیدا شود. معمولاً ابتدا Cacheهای موجود بررسی میشوند. اگر پاسخ در آنها وجود نداشته باشد، درخواست میتواند به DNS Resolver ارسال شود و Resolver در صورت نیاز از سرورهای DNS دیگر برای پیدا کردن اطلاعات استفاده کند.
پس از مشخص شدن IP، مرورگر میتواند مرحله بعدی ارتباط را آغاز کند. نکته مهم این است که DNS فقط برای سایتها کاربرد ندارد و یکی از اجزای مهم زیرساخت اینترنت محسوب میشود. وجود این سیستم باعث شده کاربران به جای حفظ کردن رشتههای عددی IP، بتوانند با نامهای قابل فهم به سرویسهای اینترنتی دسترسی پیدا کنند.
پس از پیدا شدن IP، اتصال با سرور چگونه برقرار میشود؟
وقتی آدرس IP سرور مشخص شد، دستگاه کاربر باید ارتباط شبکهای خود را با مقصد برقرار کند. اگر سایت از ارتباطهای مبتنی بر TCP استفاده کند، فرآیند برقراری اتصال TCP انجام میشود. این مرحله به طرفین کمک میکند ارتباطی قابل اعتماد و مشخص میان کلاینت و سرور ایجاد کنند.
در این ارتباط، دادهها به شکل بستههای شبکهای منتقل میشوند و گیرنده میتواند دریافت اطلاعات را مدیریت کند. TCP برای کنترل ترتیب دادهها، تشخیص برخی خطاهای انتقال و ارسال مجدد بعضی بستههای از دسترفته طراحی شده است. البته فناوریهای جدیدی مانند HTTP/3 و QUIC نیز مسیرهای متفاوتی برای ارتباط وب ارائه میکنند.
در استفاده معمول از وب، کاربر این جزئیات را نمیبیند. تنها کاری که انجام میدهد کلیک روی لینک یا وارد کردن آدرس سایت است، در حالی که در پشت صحنه دستگاه او با سرور مقصد مذاکره میکند تا ارتباط لازم برای انتقال اطلاعات برقرار شود.
HTTPS چگونه امنیت ارتباط میان کاربر و سایت را فراهم میکند؟
اگر آدرس سایت با HTTPS باز شود، علاوه بر برقراری ارتباط، مرحلهای برای ایجاد ارتباط رمزنگاریشده نیز وجود دارد. HTTPS در واقع استفاده امن از HTTP روی یک لایه رمزنگاریشده است و هدف اصلی آن محافظت از اطلاعاتی است که میان کاربر و سایت منتقل میشوند.
در این فرآیند، مرورگر گواهی دیجیتال سایت را بررسی میکند و سپس با استفاده از سازوکارهای رمزنگاری، ارتباط امنی ایجاد میشود. نتیجه این است که اطلاعاتی مانند دادههای ورود، فرمها یا سایر اطلاعات حساس، در مسیر انتقال به شکل قابل استفاده برای افراد غیرمجاز ارسال نمیشوند.
البته وجود HTTPS به این معنی نیست که هر سایت از همه نظر امن است. HTTPS بیشتر امنیت مسیر ارتباط را فراهم میکند و تضمین نمیکند محتوای سایت معتبر، قانونی یا عاری از کلاهبرداری باشد. با این حال، برای وب امروزی HTTPS یک بخش بسیار مهم از امنیت ارتباط میان مرورگر و سرور است.
مرورگر درخواست HTTP را به سرور ارسال میکند
پس از آماده شدن ارتباط، مرورگر درخواست HTTP یا HTTPS را برای سرور ارسال میکند. این درخواست به سرور میگوید کاربر چه منبعی را میخواهد. برای مثال، وقتی صفحه اصلی یک سایت را باز میکنید، مرورگر درخواست دریافت یک URL مشخص را ارسال میکند.
درخواست HTTP فقط شامل آدرس نیست و اطلاعات دیگری مانند روش درخواست، Headerها و در بعضی موارد دادههای ارسالی را نیز در بر میگیرد. سرور درخواست را دریافت کرده و بر اساس تنظیمات خود تصمیم میگیرد چه پاسخی ارائه دهد.
ممکن است سرور مستقیماً فایل مورد نظر را برگرداند یا ابتدا برنامهای را اجرا کند تا محتوای مناسب تولید شود. برای مثال، در سایتهای پویا ممکن است درخواست به سیستم مدیریت محتوا، برنامه وب یا دیتابیس برسد و نتیجه پردازششده به مرورگر بازگردانده شود. بنابراین صفحهای که کاربر مشاهده میکند، ممکن است در همان لحظه از ترکیب چندین منبع مختلف ساخته شده باشد.
سرور چگونه پاسخ را برای مرورگر ارسال میکند؟
سرور پس از پردازش درخواست، یک پاسخ HTTP ارسال میکند. این پاسخ معمولاً شامل کد وضعیت، Headerها و محتوای مورد نیاز است. برای نمونه، کد وضعیت 200 معمولاً نشاندهنده دریافت موفق درخواست است، در حالی که کدهایی مانند 404 یا 500 میتوانند نشاندهنده مشکلات متفاوت باشند.
در پاسخ ممکن است فایل HTML اصلی صفحه ارسال شود. HTML ساختار صفحه را مشخص میکند و به مرورگر میگوید چه عناصری در صفحه وجود دارند. اما معمولاً کار به همینجا ختم نمیشود. فایل HTML میتواند به فایلهای CSS، JavaScript، تصاویر، فونتها و منابع دیگر ارجاع دهد.
مرورگر پس از دریافت HTML، این منابع را نیز شناسایی میکند و در صورت نیاز درخواستهای جداگانهای برای دریافت آنها ارسال میکند. به همین دلیل، نمایش یک صفحه وب ممکن است نتیجه دهها یا حتی صدها درخواست مختلف باشد. سرعت و کیفیت هر بخش از این زنجیره میتواند روی سرعت نهایی نمایش صفحه تأثیر بگذارد.
مرورگر چگونه اطلاعات دریافتی را به یک صفحه قابل مشاهده تبدیل میکند؟
پس از دریافت منابع، مرورگر باید آنها را پردازش کند. ابتدا ساختار HTML را بررسی کرده و ساختار داخلی صفحه را ایجاد میکند. سپس CSS را برای تعیین ظاهر عناصر پردازش میکند. JavaScript نیز میتواند رفتارهای تعاملی یا تغییرات محتوایی مختلفی در صفحه ایجاد کند.
در مرحله بعد، مرورگر باید مشخص کند هر عنصر دقیقاً کجا و با چه ابعادی نمایش داده شود. سپس فرآیند رسم عناصر روی صفحه انجام میشود. در سایتهای ساده، این مراحل میتوانند بسیار سریع انجام شوند، اما صفحات پیچیده با تصاویر زیاد، کدهای سنگین یا اسکریپتهای متعدد ممکن است منابع بیشتری از دستگاه کاربر مصرف کنند.
به همین دلیل، سرعت سایت تنها به سرعت اینترنت کاربر وابسته نیست. کیفیت سرور، حجم فایلها، نحوه کدنویسی، تعداد درخواستها، کش، بهینهسازی تصاویر و عملکرد مرورگر همگی میتوانند روی تجربه نهایی تأثیر داشته باشند. در نهایت، نتیجه تمام این پردازشها همان صفحهای است که کاربر روی نمایشگر مشاهده میکند.
نقش روترها و زیرساخت شبکه در انتقال اطلاعات چیست؟
اطلاعاتی که میان کاربر و سرور جابهجا میشوند معمولاً از یک مسیر مستقیم و ساده عبور نمیکنند. بستههای داده در طول مسیر از تجهیزات شبکه مختلفی مانند روترها عبور میکنند. روتر وظیفه دارد بر اساس اطلاعات شبکه، بستهها را به مسیر مناسب هدایت کند.
این مسیر میتواند شامل شبکه خانگی، تجهیزات ارائهدهنده اینترنت، شبکههای میانی و در نهایت شبکهای باشد که سرور مقصد در آن قرار گرفته است. انتخاب مسیر مناسب به ساختار شبکه و پروتکلهای مسیریابی وابسته است.
اگر یکی از مسیرها دچار مشکل شود، در بسیاری از شرایط شبکه میتواند مسیر دیگری برای انتقال اطلاعات پیدا کند. همین قابلیت یکی از دلایلی است که اینترنت میتواند در مقیاس بسیار بزرگ فعالیت کند. البته قطعی یا اختلال در بخشهای مهم زیرساختی میتواند دسترسی کاربران به برخی سرویسها را کاهش دهد. در نتیجه، چیزی که از دید کاربر تنها با یک کلیک اتفاق میافتد، در واقع نتیجه همکاری تعداد زیادی تجهیزات و شبکه در نقاط مختلف است.
جمعبندی؛ از یک آدرس ساده تا نمایش یک صفحه وب
فرآیند باز شدن یک سایت بسیار پیچیدهتر از چیزی است که در ظاهر به نظر میرسد. زمانی که کاربر یک آدرس را وارد میکند، ابتدا مرورگر و سیستم بررسی میکنند که اطلاعات دامنه در Cache وجود دارد یا خیر. سپس در صورت نیاز، DNS نام دامنه را به آدرس IP تبدیل میکند. پس از مشخص شدن مقصد، ارتباط شبکهای با سرور برقرار میشود و در صورت استفاده از HTTPS، ارتباط امن نیز ایجاد میشود.
در ادامه، مرورگر درخواست HTTP را برای سرور ارسال میکند. سرور درخواست را پردازش کرده و HTML و منابع مورد نیاز را بازمیگرداند. مرورگر نیز این اطلاعات را پردازش میکند، فایلهای CSS و JavaScript را اجرا میکند و در نهایت عناصر مختلف را روی صفحه نمایش میدهد.
بنابراین وقتی یک صفحه وب در چند ثانیه برای ما ظاهر میشود، پشت این اتفاق مجموعهای از فناوریها و تجهیزات در حال همکاری هستند. DNS، IP، روترها، سرورها، پروتکلهای ارتباطی، HTTPS و مرورگر هر کدام بخشی از این مسیر را بر عهده دارند. شناخت این فرآیند نهتنها برای علاقهمندان به فناوری مفید است، بلکه درک بهتری از مفاهیمی مانند سرعت سایت، امنیت، هاست، سرور، شبکه و حتی سئو در اختیار ما قرار میدهد.

اینترنت چگونه کار میکند؟ از وارد کردن آدرس سایت تا نمایش صفحه